package com.echat.serviceapigateway.security.service;

import com.echat.serviceapigateway.security.model.authorization.Resource;
import com.echat.serviceapigateway.security.model.authorization.vo.PermissionNode;
import com.echat.serviceapigateway.security.model.authorization.vo.ResourceVo;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * Created by chenmohan on 2018/09/17
 *
 * @description
 */
public interface ResourceService {

    List<Resource> listAll();

    List<PermissionNode> getAuthTree(Long userId);

    List<Resource> listByIds(List<Long> ids);

    Resource getByResourceUri(String uri);

    ResourceVo getVoById(Long id);

    PageInfo<ResourceVo> listVoByCondition(Resource condtion);

    Resource update(Resource resource);

    Resource add(Resource resource);

    Resource remove(Resource delete);
}
